package ar.edu.utn.frsf.tpae.a2014.g02.persistence.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name = "tra")
public class Transportista extends Empleado {

	@Column(name = "tra_lic")
	private String numeroLicenciaConducir;

	@Column(name = "tra_pat")
	private String patenteVehiculo;

	@Column(name = "tra_crg_pso")
	private Double capacidadCargaEnToneladas;

	@Column(name = "tra_crg_vol")
	private Double capacidadCargaEnMetrosCubicos;

	public String getNumeroLicenciaConducir() {
		return numeroLicenciaConducir;
	}

	public void setNumeroLicenciaConducir(String numeroLicenciaConducir) {
		this.numeroLicenciaConducir = numeroLicenciaConducir;
	}

	public String getPatenteVehiculo() {
		return patenteVehiculo;
	}

	public void setPatenteVehiculo(String patenteVehiculo) {
		this.patenteVehiculo = patenteVehiculo;
	}

	public Double getCapacidadCargaEnToneladas() {
		return capacidadCargaEnToneladas;
	}

	public void setCapacidadCargaEnToneladas(Double capacidadCargaEnToneladas) {
		this.capacidadCargaEnToneladas = capacidadCargaEnToneladas;
	}

	public Double getCapacidadCargaEnMetrosCubicos() {
		return capacidadCargaEnMetrosCubicos;
	}

	public void setCapacidadCargaEnMetrosCubicos(
			Double capacidadCargaEnMetrosCubicos) {
		this.capacidadCargaEnMetrosCubicos = capacidadCargaEnMetrosCubicos;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime
				* result
				+ ((numeroLicenciaConducir == null) ? 0
						: numeroLicenciaConducir.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!super.equals(obj))
			return false;
		if (getClass() != obj.getClass())
			return false;
		Transportista other = (Transportista) obj;
		if (numeroLicenciaConducir == null) {
			if (other.numeroLicenciaConducir != null)
				return false;
		} else if (!numeroLicenciaConducir.equals(other.numeroLicenciaConducir))
			return false;
		return true;
	}
}
